import PrintServe from '../../.internal/print/printarea.js';

/**
 * 
 * @desc  打印
 * 示例
 * <div ref="printArea" >
 *	//需要打印的内容
 *</div>
 *<f-button @click="myClick">打印</f-button>

 *<script setup>
 *import { ref } from 'vue';
 *import { FButton } from 'fok-ui';
 *import { printServe } from 'fok-library-his';

 *const printArea = ref(); //需要打印的HTML页面
 *const printConfig = { //打印配置，支持扩展
	*isPreview: true //是否预览
 *}

*const myClick = () => {
*printServe(printArea.value, printConfig); //打印
* }
</script>
 * 
 * @param printArea 需打印的HTML
 * @param printConfig 打印配置 - isPreview: true //是否预览
 * @return 
 */
function print(printHtml, printConfig) {
	  // console.log(printHtml, 'printHtml');
		let preview = printConfig.isPreview ? printConfig.isPreview : false; //是否预览
		
		new PrintServe({
		  ids: printHtml, // * 局部打印必传入id
		  url: '', // 打印指定的网址，这里不能跟id共存 如果共存id的优先级会比较高
		  standard: '', // 文档类型，默认是html5，可选 html5，loose，strict
		  extraHead: '', // 附加在head标签上的额外标签,使用逗号分隔
		  extraCss: '', // 额外的css连接，多个逗号分开
		  zIndex: 20002, // 预览窗口的z-index
		  previewTitle: '打印预览', // 打印预览的标题
		  previewPrintBtnLabel: '打印', // 打印预览的标题
		  popTitle: '', // title的标题
		  preview: preview, // 是否启动预览模式
		  previewBeforeOpenCallback () { // 预览窗口打开之前的callback
		    console.log('正在加载预览窗口');
		  },
		  previewOpenCallback () { // 预览窗口打开之后的callback
		    console.log('已经加载完预览窗口，预览打开了');
		  },
		  openCallback () { // 调用打印之后的回调事件
		    console.log('执行打印了');
		  },
		  closeCallback () { // 关闭打印的callback(无法区分确认or取消)
		    console.log('关闭了打印工具');
		  },
		  beforeOpenCallback () { // 开始打印之前的callback
		    console.log('开始打印之前');
		  }
		});
};

// export const print = (printHtml, isPreview) => new Promise((resolve, reject) => {
//   console.log(printHtml, 'printHtml');
//   console.log(isPreview, 'isPreview');
		// resolve();
  //   // 返回
  //   reject();
// });

export { print };